Source-code comprehension tasks supported by UML design models: Results from a controlled experiment and a differentiated replication
نویسندگان
چکیده
Objective: The main objective is to investigate whether the comprehension of object-oriented source-code increases when it is added with UML class and sequence diagrams produced in the software design phase. Methods: We conducted a controlled experiment and a differentiated replication with young software maintainers. In particular, groups of Bachelor and Master students were involved. Results: The results show that more experienced participants better comprehend source-code when added with UML design models. An average improvement (or benefit) of circa 12% was achieved when the participants accomplished the comprehension task with UML class and sequence diagrams. The results of an analysis on the time to accomplish comprehension tasks showed that less experienced participants significantly spent more time when comprehending source-code with UML design models. This kind of participants spent on average 44.8% of the time to accomplish the same task with source-code alone. Implications: It is useless to give UML design models to comprehend source-code in case maintainers are not adequately experienced with the UML. Furthermore, the less the experience of participants, the more the time to accomplish a comprehension task with UML diagram is. ∗Corresponding author Email addresses: [email protected] (Carmine Gravino), [email protected] (Giuseppe Scanniello), [email protected] (Genoveffa Tortora) Preprint submitted to Journal of Visual Languages and Computing November 28, 2014
منابع مشابه
Recording concerns in source code using annotations
A concern can be characterized as a developer’s intent behind a piece of code, often not explicitly captured in it. We discuss a technique of recording concerns using source code annotations (concern annotations). Using two studies and two controlled experiments, we seek to answer the following 3 research questions: 1) Do programmers’ mental models overlap? 2) How do developers use shared conce...
متن کاملUsing diagrammatic explorations to understand code
Understanding code is a significant challenge for developers. This thesis examines the limitations of current tools that use diagrams to assist code comprehension and demonstrates the value of four design principles: • That diagrams should be based on familiar models such as UML class diagrams and layered architectural diagrams, so that developers can understand them without additional training...
متن کاملGenerating VHDL Source Code from UML Models of Embedded Systems
Embedded systems’ complexity and amount of distinct functionalities have increased over the last years. To cope with such issues, the projects’ abstraction level is being continuously raised, and, in addition, new design techniques have also been used to shorten design time. In this context, Model-Driven Engineering approaches that use UML models are interesting options to design embedded syste...
متن کاملRecovering UML class models from C++: A detailed explanation
An approach to recovering design-level UML class models from C++ source code to support program comprehension is presented. A set of mappings are given that focus on accurately identifying such elements as relationship types, multiplicities, and aggregation semantics. These mappings are based on domain knowledge of the C++ language and common programming conventions and idioms. Additionally, fo...
متن کاملDebugging Statecharts Via Model-Code Traceability
Model-driven software development involves constructing behavioral models from informal English requirements. These models are then used to guide software construction. The compilation of behavioral models into software is the topic of many existing research works. There also exist a number of UML-based modeling tools which support such model compilation. In this paper, we show how Statechart m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Vis. Lang. Comput.
دوره 28 شماره
صفحات -
تاریخ انتشار 2015